package org.rulix.ogame.player.api;


public class OgamePlanet {
	
	//name
	private String name;
	
	// code
	private String code;
	
	// resources
	private int metal;
	private int crystal;
	private int deuterium;
	private int energy;
	
	//coordinates
	private OgamePlanetCoordinates coordinates;
	
	// Buildings
	private int metalMine;
	private int crystalMine;
	private int deuteriumSynthesizer;
	private int solarPlant;
	private int fusionReactor;
	private int roboticsFactory;
	private int naniteFactory;
	private int shipyard;
	private int metalStorage;
	private int crystalStorage;
	private int deuteriumTank;
	private int researchLab;
	private int terraformer;
	private int allianceDepot;
	private int lunarBase;
	private int sensorPhalanx;
	private int jumpGate;
	private int missileSilo;
	
	//ships
	private int smallCargo;
	private int largeCargo;
	private int lightFighter;
	private int heavyFighter;
	private int cruiser;
	private int battleShip;
	private int colonyShip;
	private int recycler;
	private int espionageProbe;
	private int bomber;
	private int solarSatellite;
	private int destroyer;
	private int deathStar;
	private int battlecruiser;
	
	//defenses
	private int rocketLauncher;
	private int lightLaser;
	private int heavyLaser;
	private int gaussCannon;
	private int ionCannon;
	private int plasmaTurret;
	private int smallShieldDome;
	private int largeShieldDome;
	private int antiBallisticMissile;
	private int interplanetaryMissile;
	
	//technologies
	private int espionageTechnology;
	private int computerTechnology;
	private int weaponsTechnology;
	private int shieldingTechnology;
	private int armourTechnology;
	private int energyTechnology;
	private int hyperspaceTechnology;
	private int combustionDrive;
	private int impulseDrive;
	private int hyperspaceDrive;
	private int laserTechnology;
	private int ionTechnology;
	private int plasmaTechnology;
	private int intergalacticResearchNetwork;
	private int gravitonTechnology;
	private int astrophysics;

	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getCode() {
		return code;
	}
	public void setCode(String code) {
		this.code = code;
	}
	public OgamePlanetCoordinates getCoordinates() {
		return coordinates;
	}
	public void setCoordinates(OgamePlanetCoordinates coordinates) {
		this.coordinates = coordinates;
	}
	public int getMetal() {
		return metal;
	}
	public void setMetal(int metal) {
		this.metal = metal;
	}
	public int getCrystal() {
		return crystal;
	}
	public void setCrystal(int crystal) {
		this.crystal = crystal;
	}
	public int getDeuterium() {
		return deuterium;
	}
	public void setDeuterium(int deuterium) {
		this.deuterium = deuterium;
	}
	public int getEnergy() {
		return energy;
	}
	public void setEnergy(int energy) {
		this.energy = energy;
	}
	public int getMetalMine() {
		return metalMine;
	}
	public void setMetalMine(int metalMine) {
		this.metalMine = metalMine;
	}
	public int getCrystalMine() {
		return crystalMine;
	}
	public void setCrystalMine(int crystalMine) {
		this.crystalMine = crystalMine;
	}
	public int getDeuteriumSynthesizer() {
		return deuteriumSynthesizer;
	}
	public void setDeuteriumSynthesizer(int deuteriumSynthesizer) {
		this.deuteriumSynthesizer = deuteriumSynthesizer;
	}
	public int getSolarPlant() {
		return solarPlant;
	}
	public void setSolarPlant(int solarPlant) {
		this.solarPlant = solarPlant;
	}
	public int getFusionReactor() {
		return fusionReactor;
	}
	public void setFusionReactor(int fusionReactor) {
		this.fusionReactor = fusionReactor;
	}
	public int getRoboticsFactory() {
		return roboticsFactory;
	}
	public void setRoboticsFactory(int roboticsFactory) {
		this.roboticsFactory = roboticsFactory;
	}
	public int getNaniteFactory() {
		return naniteFactory;
	}
	public void setNaniteFactory(int naniteFactory) {
		this.naniteFactory = naniteFactory;
	}
	public int getShipyard() {
		return shipyard;
	}
	public void setShipyard(int shipyard) {
		this.shipyard = shipyard;
	}
	public int getMetalStorage() {
		return metalStorage;
	}
	public void setMetalStorage(int metalStorage) {
		this.metalStorage = metalStorage;
	}
	public int getCrystalStorage() {
		return crystalStorage;
	}
	public void setCrystalStorage(int crystalStorage) {
		this.crystalStorage = crystalStorage;
	}
	public int getDeuteriumTank() {
		return deuteriumTank;
	}
	public void setDeuteriumTank(int deuteriumTank) {
		this.deuteriumTank = deuteriumTank;
	}
	public int getResearchLab() {
		return researchLab;
	}
	public void setResearchLab(int researchLab) {
		this.researchLab = researchLab;
	}
	public int getTerraformer() {
		return terraformer;
	}
	public void setTerraformer(int terraformer) {
		this.terraformer = terraformer;
	}
	public int getAllianceDepot() {
		return allianceDepot;
	}
	public void setAllianceDepot(int allianceDepot) {
		this.allianceDepot = allianceDepot;
	}
	public int getLunarBase() {
		return lunarBase;
	}
	public void setLunarBase(int lunarBase) {
		this.lunarBase = lunarBase;
	}
	public int getSensorPhalanx() {
		return sensorPhalanx;
	}
	public void setSensorPhalanx(int sensorPhalanx) {
		this.sensorPhalanx = sensorPhalanx;
	}
	public int getJumpGate() {
		return jumpGate;
	}
	public void setJumpGate(int jumpGate) {
		this.jumpGate = jumpGate;
	}
	public int getMissileSilo() {
		return missileSilo;
	}
	public void setMissileSilo(int missileSilo) {
		this.missileSilo = missileSilo;
	}
	public int getSmallCargo() {
		return smallCargo;
	}
	public void setSmallCargo(int smallCargo) {
		this.smallCargo = smallCargo;
	}
	public int getLargeCargo() {
		return largeCargo;
	}
	public void setLargeCargo(int largeCargo) {
		this.largeCargo = largeCargo;
	}
	public int getLightFighter() {
		return lightFighter;
	}
	public void setLightFighter(int lightFighter) {
		this.lightFighter = lightFighter;
	}
	public int getHeavyFighter() {
		return heavyFighter;
	}
	public void setHeavyFighter(int heavyFighter) {
		this.heavyFighter = heavyFighter;
	}
	public int getCruiser() {
		return cruiser;
	}
	public void setCruiser(int cruiser) {
		this.cruiser = cruiser;
	}
	public int getBattleShip() {
		return battleShip;
	}
	public void setBattleShip(int battleShip) {
		this.battleShip = battleShip;
	}
	public int getColonyShip() {
		return colonyShip;
	}
	public void setColonyShip(int colonyShip) {
		this.colonyShip = colonyShip;
	}
	public int getRecycler() {
		return recycler;
	}
	public void setRecycler(int recycler) {
		this.recycler = recycler;
	}
	public int getEspionageProbe() {
		return espionageProbe;
	}
	public void setEspionageProbe(int espionageProbe) {
		this.espionageProbe = espionageProbe;
	}
	public int getBomber() {
		return bomber;
	}
	public void setBomber(int bomber) {
		this.bomber = bomber;
	}
	public int getSolarSatellite() {
		return solarSatellite;
	}
	public void setSolarSatellite(int solarSatellite) {
		this.solarSatellite = solarSatellite;
	}
	public int getDestroyer() {
		return destroyer;
	}
	public void setDestroyer(int destroyer) {
		this.destroyer = destroyer;
	}
	public int getDeathStar() {
		return deathStar;
	}
	public void setDeathStar(int deathStar) {
		this.deathStar = deathStar;
	}
	public int getBattlecruiser() {
		return battlecruiser;
	}
	public void setBattlecruiser(int battlecruiser) {
		this.battlecruiser = battlecruiser;
	}
	public int getRocketLauncher() {
		return rocketLauncher;
	}
	public void setRocketLauncher(int rocketLauncher) {
		this.rocketLauncher = rocketLauncher;
	}
	public int getLightLaser() {
		return lightLaser;
	}
	public void setLightLaser(int lightLaser) {
		this.lightLaser = lightLaser;
	}
	public int getHeavyLaser() {
		return heavyLaser;
	}
	public void setHeavyLaser(int heavyLaser) {
		this.heavyLaser = heavyLaser;
	}
	public int getGaussCannon() {
		return gaussCannon;
	}
	public void setGaussCannon(int gaussCannon) {
		this.gaussCannon = gaussCannon;
	}
	public int getIonCannon() {
		return ionCannon;
	}
	public void setIonCannon(int ionCannon) {
		this.ionCannon = ionCannon;
	}
	public int getPlasmaTurret() {
		return plasmaTurret;
	}
	public void setPlasmaTurret(int plasmaTurret) {
		this.plasmaTurret = plasmaTurret;
	}
	public int getSmallShieldDome() {
		return smallShieldDome;
	}
	public void setSmallShieldDome(int smallShieldDome) {
		this.smallShieldDome = smallShieldDome;
	}
	public int getLargeShieldDome() {
		return largeShieldDome;
	}
	public void setLargeShieldDome(int largeShieldDome) {
		this.largeShieldDome = largeShieldDome;
	}
	public int getAntiBallisticMissile() {
		return antiBallisticMissile;
	}
	public void setAntiBallisticMissile(int antiBallisticMissile) {
		this.antiBallisticMissile = antiBallisticMissile;
	}
	public int getInterplanetaryMissile() {
		return interplanetaryMissile;
	}
	public void setInterplanetaryMissile(int interplanetaryMissile) {
		this.interplanetaryMissile = interplanetaryMissile;
	}
	public int getEspionageTechnology() {
		return espionageTechnology;
	}
	public void setEspionageTechnology(int espionageTechnology) {
		this.espionageTechnology = espionageTechnology;
	}
	public int getComputerTechnology() {
		return computerTechnology;
	}
	public void setComputerTechnology(int computerTechnology) {
		this.computerTechnology = computerTechnology;
	}
	public int getWeaponsTechnology() {
		return weaponsTechnology;
	}
	public void setWeaponsTechnology(int weaponsTechnology) {
		this.weaponsTechnology = weaponsTechnology;
	}
	public int getShieldingTechnology() {
		return shieldingTechnology;
	}
	public void setShieldingTechnology(int shieldingTechnology) {
		this.shieldingTechnology = shieldingTechnology;
	}
	public int getArmourTechnology() {
		return armourTechnology;
	}
	public void setArmourTechnology(int armourTechnology) {
		this.armourTechnology = armourTechnology;
	}
	public int getEnergyTechnology() {
		return energyTechnology;
	}
	public void setEnergyTechnology(int energyTechnology) {
		this.energyTechnology = energyTechnology;
	}
	public int getHyperspaceTechnology() {
		return hyperspaceTechnology;
	}
	public void setHyperspaceTechnology(int hyperspaceTechnology) {
		this.hyperspaceTechnology = hyperspaceTechnology;
	}
	public int getCombustionDrive() {
		return combustionDrive;
	}
	public void setCombustionDrive(int combustionDrive) {
		this.combustionDrive = combustionDrive;
	}
	public int getImpulseDrive() {
		return impulseDrive;
	}
	public void setImpulseDrive(int impulseDrive) {
		this.impulseDrive = impulseDrive;
	}
	public int getHyperspaceDrive() {
		return hyperspaceDrive;
	}
	public void setHyperspaceDrive(int hyperspaceDrive) {
		this.hyperspaceDrive = hyperspaceDrive;
	}
	public int getLaserTechnology() {
		return laserTechnology;
	}
	public void setLaserTechnology(int laserTechnology) {
		this.laserTechnology = laserTechnology;
	}
	public int getIonTechnology() {
		return ionTechnology;
	}
	public void setIonTechnology(int ionTechnology) {
		this.ionTechnology = ionTechnology;
	}
	public int getPlasmaTechnology() {
		return plasmaTechnology;
	}
	public void setPlasmaTechnology(int plasmaTechnology) {
		this.plasmaTechnology = plasmaTechnology;
	}
	public int getIntergalacticResearchNetwork() {
		return intergalacticResearchNetwork;
	}
	public void setIntergalacticResearchNetwork(int intergalacticResearchNetwork) {
		this.intergalacticResearchNetwork = intergalacticResearchNetwork;
	}
	public int getGravitonTechnology() {
		return gravitonTechnology;
	}
	public void setGravitonTechnology(int gravitonTechnology) {
		this.gravitonTechnology = gravitonTechnology;
	}
	public int getAstrophysics() {
		return astrophysics;
	}
	public void setAstrophysics(int astrophysics) {
		this.astrophysics = astrophysics;
	}
	
	@Override
	public String toString() {
		return super.toString();
	}

	public String getPlanetInfo() {
		StringBuilder sb = new StringBuilder();
		
		sb.append(getName()).append(" - ").append(coordinates.toString()).append("\n");
		sb.append("Metal:").append(metal).append("\n");
		sb.append("Crystal:").append(crystal).append("\n");
		sb.append("Deuterium:").append(deuterium).append("\n");
		sb.append("Energy:").append(energy).append("\n");
		sb.append("Metal Mine:").append(metalMine).append("\n");
		sb.append("Crystal Mine:").append(crystalMine).append("\n");
		sb.append("Deuterium Synth:").append(deuteriumSynthesizer).append("\n");
		sb.append("Solar Plant:").append(solarPlant).append("\n");
		sb.append("Fusion Reactor:").append(fusionReactor).append("\n");
		sb.append("Satellite:").append(solarSatellite).append("\n");
		sb.append("Metal Storage:").append(metalStorage).append("\n");
		sb.append("Crystal Storage:").append(crystalStorage).append("\n");
		sb.append("Deuterium Tank:").append(deuteriumTank).append("\n");
		
		return sb.toString();
	}
	
	
}
